Synchronizing floor control and media sharing in a half-duplex ptt system

ABSTRACT

The disclosure is directed to synchronizing media sharing in a communication group. An embodiment transmits one or more media files to one or more members of the communication group, receives, after the transmitting, a selection of one of the one or more media files, and transmits, in response to the receiving, a request to start a group call with the one or more members of the communication group or a request to acquire the floor of the group call. An embodiment receives, at a user device, one or more media files from a member of the communication group, receives, after the receiving the one or more media files, a talk spurt from the member and a reference to one of the one or more media files, and displays the one of the one or more media file during the talk spurt.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 13/686,383, filed on Nov. 27, 2012, which is a continuation-in-part of U.S. application Ser. No. 12/141,493, filed on Jun. 18, 2008, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/945,102, filed on Jun. 20, 2007. The contents of these documents are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to point-to-point or point-to-multipoint wireless communications systems. More specifically, the present invention relates to systems and methods for sharing various forms of media between members of a communicating group of wireless telecommunication devices.

2. Description of the Related Art

In wireless telecommunication devices, such as cellular phones, PDAs, mini-laptops, and advanced pagers, the devices typically communicate over long distances by bridging telephone calls through existing cellular telephone networks and passing data packets across the network. These wireless devices often have limited to significant data processing and computing capability, and can accordingly send and receive software programs, in addition to voice, across the telephone network.

There exists a wireless telecommunication service that provides a quick one-to-one or one-to-many communication that is generically referred to as “Push-To-Talk” (PTT) capability. The specific PTT group of recipient devices for the communicating wireless device is commonly set up by the carrier. A PTT communication connection is typically initiated by a single button-push on the wireless device that activates a half-duplex link between the speaker and each member device of the group and once the button is released, the device can receive incoming PTT transmissions once the button is released. In some arrangements, the PTT speaker will have the “floor” where no other group member can speak while the speaker is speaking. Once the speaker releases the PTT button, any other individual member of the group can engage their PTT button and they will have the floor.

In existing PTT systems, member devices will only communicate voice data between the devices in an active group communication. It is difficult to include other data in the group communication because of the size of the data and the device resources necessary to handle non-voice data. The existing mobile devices therefore send non-voice data, such as graphics, multimedia and other data files, through specific data channels established between the device and a wireless communication network.

Accordingly, it would be advantageous to provide a system and method for a wireless device member of a group to send media to others member of the PTT target group. The system and method should be able to accommodate group-directed media data of large size without compromising the integrity of other PTT communications or unduly utilizing device resources. It is thus to the provision of such a system and method to allow group-directed media among wireless devices in a PTT group that the present invention is primarily directed.

SUMMARY OF THE INVENTION

Briefly described, the present invention includes a system, method, and wireless communication device that allows the sharing of media between communication groups on wireless communication networks. In the system, the user can attach a data file, data block, or other application-specific data, which can be a picture, an audio clip, a voice mail message, and the like, and send it to one or more other member's wireless devices. The distribution data path for the group-direct media can be independent from the same data path of the PTT voice communications, or can be independent of it such that the feature can be accessed at any time, whether the user is participating in a PTT call or not. In one embodiment, the originator of the group-directed media can select a target list of members to receive the data file, and the target list can be one or more user addresses, one or more group addresses, or a combination of the two.

In one embodiment, if the originator of the group-directed media is participating in a PTT call, the originator can elect to send the file to one or more participants of the same PTT call by uploading the file to a server and then the server or the originator can notify the target wireless devices that a file is available for download. The target users are provided the option to allow or decline the downloading of the file on to the target client. Alternately, the target users are provided a pointer, such as a hyperlink, to the stored file where they can later obtain that file without necessarily downloading to the wireless communication device. Furthermore, the system can be embodied such that the target user can periodically browse or poll the file server to check and see if media is available for download.

In one embodiment, the system for sharing media in a group communication among a plurality of wireless communications devices includes at least one wireless communication device that is a member of a communication group of wireless communication devices that communicate with each other in direct group communications across a wireless communication network, such as PTT voice communications. The wireless communication device will selectively send group-directed media to other members of the communication group, and at least one group communication computer device stores information on communication groups on the wireless communication network that includes the member wireless communication devices of one or more communication groups. The group communication computer device selectively receives group-directed media from a sending wireless communication device of a communication group and sends the group-directed media to the other member wireless communication devices of the communication group for the sending wireless communication device. The group communication computer device can be selectively in communication with a data store to store the group-directed media for the member wireless communication devices to access the media. The wireless communication device may also be a desktop, laptop or other stationary computer platform that can have a wired connection to Internet or other network, and otherwise engage in group-communications with the other wireless communication devices.

In one embodiment, the method for sharing media in a group communication among a plurality of wireless communications devices on a wireless communication network includes receiving at a group communication computer device the group-directed media sent from a wireless communication device to other members of the communication group for the wireless communication device, with the wireless communication device a member of a communication group of wireless communication devices that communicate with each other in direct group communications across a wireless communication network The group communication computer device storing information including the member wireless communication devices of one or more communication groups, and then sending the group-directed media from the group communication computer device to one or more of the other member wireless communication devices of the communication group for the sending wireless communication device.

Various embodiments are directed to synchronizing media sharing in a communication group. An embodiment transmits one or more media files to one or more members of the communication group, receives, after the transmitting, a selection of one of the one or more media files, and transmits, in response to the receiving, a request to start a group call with the one or more members of the communication group or a request to acquire the floor of the group call. An embodiment receives, at a user device, one or more media files from a member of the communication group, receives, after the receiving the one or more media files, a talk spurt from the member and a reference to one of the one or more media files, and displays the one of the one or more media file during the talk spurt.

The present system and method are therefore advantageous in that a wireless communication device member of a communication group has the ability to share media among the other member devices of the communication group, such as a PTT target group, either during an ongoing group communication or separately therefrom. The system and method allows the group-directed media of any size to be communicated without unduly utilizing device resources. Moreover, the group-directed media can be in virtually any data type and include active and accessible computer applications.

Other objects, features, and advantages of the present invention will become apparent after review of the Brief Description of the Drawings, Detailed Description of the Invention, and the Claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representative diagram of a wireless network with a designated PTT group of wireless telecommunication devices communicating with a group communication server and other computer devices across the wireless network.

FIG. 2 is a representative diagram of one embodiment of a wireless network in a common cellular telecommunication configuration, having a group communication server control communications between the wireless telecommunication devices of PTT group members.

FIG. 3 is a block diagram illustrating the computer platform of the wireless telecommunication device with PTT capability.

FIG. 4 is a diagram of one embodiment of the software layers of the communication group application, with a PTT client and a group-directed media client.

FIG. 5 is a call flow diagram of one embodiment of the establishment of a PTT communication and a group-directed media transmission between communication group member wireless communication devices.

FIG. 6 is a call flow diagram of one embodiment of the group-directed media transmission occurring during a shared floor as a PTT client on the transmitting wireless communication device.

FIG. 7 is a call flow diagram of one embodiment of the group-directed media transmission occurring on a different floor from a PTT client on the transmitting wireless communication device.

FIG. 8 is a call flow diagram of one embodiment of the system establishing immediate group-directed media transmission to multiple target devices across the wireless communication network.

FIG. 9 is a call flow diagram of one embodiment of the distribution to target members of a file preview of a group-directed media.

FIG. 10 is a call flow diagram of one embodiment of a file retrieval of stored group-directed media by a member of the communication group to which the group-directed media was originally sent.

FIG. 11 is a flowchart of one embodiment of a method for a wireless communication device sending group-directed media to a communication group.

FIG. 12 is a flowchart of one embodiment of a group communication computer device receiving and selectively storing or transmitting group-directed media.

FIG. 13 is a flowchart of an exemplary group communication in which media files are pre-shared before a group call is setup.

FIG. 14 is a flowchart of an exemplary group communication in which media files are pre-shared before a group call is setup.

FIG. 15 is a flowchart of an exemplary group communication in which media files are not pre-shared before a group call is setup.

FIG. 16 is a flowchart of an exemplary group communication in which media files are shared before or during a group call.

FIG. 17 is a flowchart of an exemplary group communication in which media files are shared before a group call is setup.

FIG. 18 is a flowchart of exemplary first and second group communications, where media files are shared before the first group communication.

DETAILED DESCRIPTION OF THE INVENTION

Aspects of the various embodiments are disclosed in the following description and related drawings directed to specific embodiments are illustrated. Alternate embodiments may be devised without departing from the scope of the invention. Additionally, well-known elements of the various embodiments will not be described in detail or will be omitted so as not to obscure the relevant details of the various embodiments.

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments Likewise, the term “embodiments” or “embodiments of the invention” does not require that all embodiments include the discussed feature, advantage or mode of operation.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the various embodiments. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

Further, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the various embodiments may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the embodiments described herein, the corresponding form of any such embodiments may be described herein as, for example, “logic configured to” perform the described action.

In this description, the terms “communication device,” “wireless device,” “wireless communications device,” “PTT communication device,” “handheld device,” “mobile device,” and “handset” are used interchangeably. The terms “call” and “communication” are also used interchangeably. The term “application” as used herein is intended to encompass executable and non-executable software files, raw data, aggregated data, patches, and other code segments.

With reference to the figures in which like numerals represent like elements throughout, FIG. 1 illustrates one embodiment of the system 10 for sharing group media among one or more wireless telecommunication devices in a PTT group 12, such as the wireless telephone 14, smart pager 16 and personal digital assistant (PDA) 18, with other wireless telecommunication devices across a wireless network 20. In the system 10, each wireless telecommunication device 14,16,18 is capable of selectively directly communicating across the wireless communication network 20 with a target set of one or more other wireless telecommunication devices of the plurality. For example, the target set for mobile telephone 14 can be all devices in the communication group 12 or a subset thereof, such as pager 16 and PDA 18.

In this embodiment, the wireless telecommunication device (such as mobile telephone 14) sends a flag to at least the group communication computer device, shown here as server 32, which is present on a server-side LAN 30 across the wireless network 20, to indicate that the wireless device is present, i.e. accessible, on the wireless network 20. The group communication computer device 32 can share this information with the set of target wireless telecommunication devices designated by the first wireless telecommunication device, or can also share is with other computer devices resident on the server-side LAN 30 or accessible across the wireless network 20. The group communication computer device 32 can have an attached or accessible database 34 to store the group identification data for the wireless devices. A data store 36, shown here as file management server, is also present on the server-side LAN 30. It should be appreciated that the number of computer components resident on server-side LAN 30, or across the wireless network 20, or Internet generally, are not limited.

The direct communication, such as a PTT communication, can be established through a half-duplex channel between the communicating wireless telecommunication device 14,16,18 and the one or more other wireless telecommunication devices of the target set. Also, the group communication computer device 32 can attempt to bridge the requested direct communication with the target set if at least one of the wireless telecommunication devices of the target set have informed the group communication computer device 32 of their presence on the wireless network 20.

The group communication computer device 32 can also inform the wireless telecommunication device 14,16,18 of the inability to bridge a direct communication to the target set 12 upon none of the wireless telecommunication devices (or at least one) of the target set not having informed the group communication computer device 32 of their presence on the wireless network 20. Further, while the group communication computer device 32 is shown here as having the attached database 34 of group identification data, the group communication computer device 32 can have group identity data resident thereupon, and perform all storage functions described herein.

In overview, the system 10 includes at least one wireless communication device, such as mobile telephone 14, that is a member of a communication group 12 of wireless communication devices that communicate with each other in direct group communications across a wireless communication network 20, the at least one wireless communication device configured to selectively send group-directed media to other members of the communication group 12. At least one group communication computer device 32 is configured to store information on communication groups 12 on the wireless communication network 20, the information including the identity of the specific member wireless communication devices of one or more communication groups. The group communication computer device 32 is further configured to selectively receive group-directed media from a sending wireless communication device, such as mobile telephone 14, of a communication group 12 and send the group-directed media to the other member wireless communication devices of the communication group 12 for the sending wireless communication device.

The system 10 can further include a data store 36 in communication with the group communication computer device(s) 32, with the group communication computer device 32 configured to send group-directed media to the data store 36, as is further described herein. The data store 36 configured to receive the group-designated media from the wireless communication device (such as mobile phone 14) and selectively permit members of the communication group 12 for which the group-directed media was sent to access the stored group-directed media across the wireless communication network 20.

The group-directed media can be any type of media. For example, the group-directed media can be graphic media, such as pictures in JPEG, TIF, and the like, audio files such as MP3, MP4, WAV, and the like. The media can also be streaming media, such as a multimedia application (Powerpoint, MOV file, and the like), and other application-specific data or custom data for an application, either resident at the wireless communication device 14,16,18 or in communication therewith. The group-directed media can also be streaming media, or an interactive session on another computer device on the wireless communication network 20, such as a game hosted on data store 36 or private bulletin board. For example, participants in a game can chat via the group-communication about the ongoing game. Also, the group-directed media could be half-duplex video conferencing among members of the communication group wherein the picture of the speaker is broadcast to the other group members in substantial real-time, or in delay. The group-directed media can also be location information, such as the GPS coordinates or network location of the wireless communication device 14,16,18.

The size of these media files can be very large, and because of the potential delay of sending the media, or inability of the receiving wireless communication device to handle the sent media, the system 10 can use a data store 36 (or file management server or other computer device) to store the group-directed media such that target members of the communication group 12 can selectively access the stored media without interrupting other PTT communications. The data store 36 can be configured to automatically send the group-directed media to each of the member wireless devices of the communication group 12 upon establishing a communication link therewith. Alternatively, in one embodiment, if the group-directed media is stored at the data store 36, the group communication computer device 32 or the data store 36 can send a hyperlink to the other member wireless communication devices of the communication group 12, that will provides a link to the stored group-directed media at the data store 36. Upon receipt of the group-directed media by at least one of the member wireless devices of the communication group, the group communication computer device 32 can send to the wireless communication device 14,16,18 sending the group-directed media an acknowledgement that at least one member wireless communication device of the communication group 12 received the group-directed media.

The wireless communication device 14,16,18 can send communication group identification data to the group communication computer device 32 at the time of requesting the group-directed media to be sent, e.g. send a target list, and thus, the group communication device 32 will send or store the group-directed media to the member wireless communication devices identified in the communication group identification data based upon a variety of criteria as is further discussed herein. Alternately, prior to the wireless communication device sending group-directed media, the wireless communication device 14,16,18 can request member data for a communication group 12 from the group communication computer device 32, and the group communication computer device 32 can send one or more addresses or communication group addresses to the wireless communication device 14,16,18. In one embodiment, the communication group computer device 32 can filter the potential communication groups available based upon their member devices' capability to received group-directed media.

As is further described herein, the wireless communication device 14,16,18 can be engaged in a group communication with the member wireless communication devices of the communication group 12, and send group-directed media during the group communication in the same communication session, or independently therefrom. Alternately, the group-directed media can be sent independently of the group-communication session.

FIG. 2 is a representative diagram of one embodiment of a wireless network in a common cellular telecommunication configuration, having a series of group communication computer devices (group communication servers) 32 that control communications between the wireless communication devices of set group members (devices 70,72,74,76) in a PTT system. The wireless network is merely exemplary and can include any system whereby remote modules communicate over-the-air between and among each other and/or between and among components of a wireless network 20, including, without limitation, wireless network carriers and/or servers. A series of group communication servers 32 are connected to a group communication server LAN 50. Wireless telephones can request packet data sessions from the group communication server(s) 32 using a data service option.

The group communication server(s) 32 are connected to a wireless service providers packet data service node (PDSN) such as PSDN 52, shown here resident on a carrier network 54. Each PSDN 52 can interface with a base station controller 64 of a base station 60 through a packet control function (PCF) 62. The PCF 62 is typically located in the base station 60. The carrier network 54 controls messages (generally in the form of data packets) sent to a messaging service controller (“MSC”) 58. The carrier network 30 communicates with the MSC 32 by a network, the Internet and/or POTS (“plain ordinary telephone system”). Typically, the network or Internet connection between the carrier network 54 and the MSC 58 transfers data, and the POTS transfers voice information. The MSC 58 can be connected to one or more base stations 60. In a similar manner to the carrier network, the MSC 58 is typically connected to the branch-to-source (BTS) 66 by both the network and/or Internet for data transfer and POTS for voice information. The BTS 66 ultimately broadcasts and receives messages wirelessly to and from the wireless devices, such as cellular telephones 70,72,74,76, by short messaging service (“SMS”), or other over-the-air methods known in the art. It should also be noted that carrier boundaries and/or PTT operator network boundaries do not inhibit or prohibit the sharing of data as described herein.

Cellular telephones and mobile telecommunication devices, such as wireless telephone 14, are being manufactured with increased computing capabilities and are becoming tantamount to personal computers and hand-held PDAs. These “smart” cellular telephones allow software developers to create software applications that are downloadable and executable on the processor of the wireless device. The wireless device, such as cellular telephone 14, can download many types of applications, such as web pages, applets, MIDlets, games and data. In wireless devices that have designated a communication group 12 (FIG. 1), the wireless communication device can directly connect with the other member of the set and engage in voice and data communication. However, all such direct communications will occur through, or at the control of, the group communication computer device 32. All data packets of the devices do not necessarily have to travel through the group communication computer device 32 itself, but the group communication computer device 32 must be able to ultimately control the communication because it will typically be the only server-side 30 component that is aware of and/or can retrieve the identity of the members of the communication group, or direct the identity of the members of the communication group 12 to another computer device

FIG. 3 is a block diagram illustrating one embodiment of the wireless telecommunication device being a mobile telephone 14 with a PTT button 78 that opens the direct communication to a target set of devices, i.e. other members of the communication group 12. Other devices and methods can be alternately used to engage in a PTT communication, such as a “soft key” on a touch screen display, voice command, or other methods as known in the art. The wireless device 14 is also shown as having a graphics display 80 to the user of the wireless device 14. The wireless device 14 includes a computer platform 82 that can handle voice and data packets, and receive and execute software applications transmitted across the wireless network 20 to include the group-directed media. The computer platform 82 includes, among other components, an application-specific integrated circuit (“ASIC”) 84, or other processor, microprocessor, logic circuit, programmable gate array, or other data processing device. The ASIC 84 is installed at the time of manufacture of the wireless device and is not normally upgradeable. The ASIC 84 or other processor executes an application programming interface (“API”) layer 86, which includes the resident application environment, and can include the operating system loaded on the ASIC 84. The resident application environment interfaces with any resident programs in the memory 88 of the wireless device. An example of a resident application environment is the “binary runtime environment for wireless” (BREW) software developed by QUALCOMM® for wireless device platforms.

As shown here, the wireless device can be a mobile telephone 14, with a graphics display 80, but can also be any wireless device with a computer platform 82 as known in the art, such as a personal digital assistant (PDA), a pager with a graphics display 80, or even a separate computer platform 82 that has a wireless communication portal, and may otherwise have a wired connection to a network or the Internet. Further, the memory 88 can be comprised of read-only memory (ROM) or random-access memory (RAM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash cards, or any memory common to computer platforms. The computer platform 82 can also include a local database 90 for storage of software applications not actively used in memory 88. The local database 90 is typically comprised of one or more flash memory cells, but can be any secondary or tertiary storage device as known in the art, such as magnetic media, EPROM, EEPROM, optical media, tape, or soft or hard disk. The graphics display 80 can present not only information about the ongoing group call, but also the information on the group-directed media, to include a file preview as is more fully described herein.

In this embodiment of the wireless device, the computer platform 82 also includes a direct communication interface 92 that can open the direct communication channel from the wireless device. The direct communication interface 92 can also be part of the standard communication interface for the wireless device which ordinarily carries the voice and data transmitted to and from the wireless device. The direct communication interface 92 typically is comprised of hardware as is known in the art.

FIG. 4 is a diagram of one embodiment of the software layers of the group application client, with a PTT facility and a group-directed media facility. In this embodiment, the computer platform 82 in the mobile device environment consists of a series of software “layers” developed on top of the Mobile Station Modem (MSM) 100 and the Advanced Mobile Subscriber Software (AMSS) 102, developed by QUALCOMM®, drives the underlying MSM chipset and implements the software protocol stack for the entire suite of CDMA communication technologies that include CDMA2000 1× and CDMA2000 1×EV-DO. There is a mobile operating system layer 104, which in this embodiment is BREW®, also developed by QUALCOMM®. The mobile operating system layer 104 application programming interfaces for chip- or device-specific operations, while providing an isolation layer that eliminates direct contact to the AMSS 100 and any OEM software on the computer platform. The mobile operating system layer 104 enables application development that uses mobile device features without having to rewrite the application each time a new release of the device-specific software is released. It should be noted that other software layer configurations can be alternately used on the wireless communication device 14,16,18 computer platform 82, such as a Linux®, Windows®, or other operating system or architecture, to implement the sharing of media as described herein.

The PTT Client 108 is an application that offers access to PTT services through an external interface, here shown at a PTT-aware user interface (UI) 106. The PTT Client includes all the functions required to enable mobile operating system 104 applications, such as the Group Media Client 110. In addition to providing access to PTT services with the PTT Client 108, the PTT Client 108 preferably acts as an isolation layer between all PTT-aware applications and the interface to the group communication computer device 102. In this embodiment, the PTT Client 108 maintains access to PTT services, responds to group communication requests, processes all PTT-aware mobile operating system applications requests for PTT services, processes all outgoing PTT requests, collects and packages vocoder packets for originating PTT talk spurts, and parses packets of vocoder data for terminated PTT talk spurts.

The Group Media Client 110 is a mobile operating system-based application that extends PTT services for access to media types other than the traditional half duplex voice communications (VoIP-PTT media). The Group Media Client 110 provides access to group-media services through an external interface, in one embodiment being a separate API, such as a Group Media Aware API. The Group Media Aware UI is an application that may be developed entirely as a mobile operating system-based application or used in combination with an AMSS 102 interface. The Group Media Aware UI responds to user requests for group-directed media services by invoking the appropriate APIs, such as those from other resident PTT and group media applications 112. The Group Media Client 110 services the requests from the user and informs the user the result of any group-directed media request. The user can also have setting on the Group Media Client 110, that specify how to handle an incoming notification that indicates there is a file to be downloaded from the file management server (data store 36). For example, the Group Media Client 110 can elect to have the file download commence immediately or to allow the target user to be prompted to determine whether to download the file.

Once a user has identified which contacts to include in a PTT group communication, the user selects a media file to transmit. From within UI 106, the user can browse to a particular media file or search for a particular media file. For example, the user can browse to the particular media file using a hierarchical folder structure or a listing of PTT-able media files. Files within the folders or search results can be displayed as filenames, thumbnails, icons, etc. The listing can be a gallery of thumbnails, for example, representing the various media files.

Each thumbnail, icon, filename, etc. is independently actionable as a PTT press. Once the user selects a media file, it is automatically transmitted to the target users as part of a talk spurt. The user may select the media file by, for example, touching the thumbnail representing the media file if wireless communication device 14, 16, 18 is a touch screen device. Alternatively, the user may press PTT button 78 after selecting the media file. Upon selecting the media file, a PTT Call/Floor-request would be sent to the target users with the media file or a link thereto, as discussed below.

FIG. 5 is a call flow diagram of one embodiment of the establishment of a PTT communication and a group-directed media transmission between communication group member wireless communication devices. Resident on a communicating wireless device 14,16,18, a Group Media Client 130 requests that the PTT Client 132 establish a direct PTT call to share group-directed media and voice with the target device, shown here as having resident PTT Client 138 and Group Media Client 140. As shown, the Group Media Client indicates that the same floor control mechanism can be used for both the voice media and the group-directed media. The Group Media Client 130 determines that data can be shared during subsequent talk bursts from the PTT usage, and thus, there is a single floor control mechanism used for both the voice call and the sharing of the group-directed media. The Group Media Client 130 requests that the PTT Client 132 establish a PTT direct call with the target user and include a group-directed media type to the PTT call. The call setup request can contain, for instance, the target user address, the Group Media application ID, the media type, and an indication that the group-directed media data is to be shared using the same floor control mechanism as the PTT call. The call setup request may also be sent with a DataOverSignaling Access channel message. The Dispatch Call Handler (DCH) 134 performs the PTT call setup functions, including locating the target, applying call restrictions, selecting a vocoder and assigning Media Control Unit (MCU) 136 resourced. In addition, the DCH 134 verifies that the target client can support the group-directed media type. Then the DCH 134 notifies the target member that a PTT call is being established with group-media data included.

The target PTT Client 138 verifies that the target user is available to participate in the call and that the Group Media Client 140 associated with the group-directed media application ID is present on the target client device. The target PTT Client 138 sends an acknowledgement to the DCH 134 indicating that the call has been accepted. Once the acknowledgement is received from the target PTT Client 138, the DCH 134 sends a floor grant message to the originating PTT Client 132, which indicates the call is being established and the PTT Client 132 can start collecting media. The PTT Client 132 notifies the Group Media Client 130 that the call setup was successful and group-directed media can be sent. The PTT Client 132 also notifies the user that the user can begin speaking. The PTT Client 132 collects and buffers both the voice media (the user's talk spurt) and the group-directed media that is received from the group Media Client 130. Once the MCU 136 contact information message is received and acknowledged by the originating PTT Client 132, the buffered media is sent to the MCU 136. The MCU 136 waits for the target PTT Client's 138 acknowledgment of the MCU 136 contact information message prior to forwarding the media to the target. When the target PTT Client 138 receives the media, it may filter the media based on the synchronization source (SSRC) and payload type to process the PTT media correctly. The group-directed media is forwarded to the Group Media Client 140, which may also be responsible for processing that data.

FIG. 6 is a call flow diagram of one embodiment of the group-directed media transmission occurring during a shared floor as the PTT client on the transmitting wireless communication device. A Group Media Client 150 requests to share a group-directed media with PTT call participants using the same floor control mechanism as the PTT call, one member device shown as having resident PTT Client 156 and Group Media Client 158. The group-directed media is sent in conjunction with the voice media during a PTT talk spurt. The Group Media Client 150 requests permission to talk and send data at the same time. In this scenario, the user is participating in a PTT call, and the user performs a function to the Group Media Client 150 that results in the Group Media Client 150 requesting to share data with the PTT call participants. The Group Media Client 150 determines that the data can be shared during a subsequent talk bust from the user. That is, there is only a single floor control mechanism that is used for both the PTT call and the sharing of group-directed media.

The Group Media Client 150 requests the PTT Client 152 to add group-directed media to the existing PTT call. The add-media request contains an indication that the data is to be shared using the same floor control mechanism as the PTT Client 152. The PTT Client 152 requests the MCU 154 to add a new media type to the existing call. The MCU 154 verifies that the PTT call participants can support the new media type, e.g. contacts Group Media Client 158, and notifies the call participants that a new media type is being added to the PTT call. After the new media type has been successfully added to the PTT call, the user (Group Media Client 150) can request permission to talk and send group-directed media at the same time. The Group Media Client 150 notifies the PTT Client 152 that a group-directed media request has been received. The PTT Client 152 requests permission to talk and send group-directed media from the MCU 154. The MCU 154 verifies the floor is available prior to granting the floor request. The PTT Client 152 notifies the Group Media Client 150 that the floor request was granted.

FIG. 7 is a call flow diagram of one embodiment of the group-directed media transmission occurring on a different floor from the PTT client on the transmitting wireless communication device. The Group Media Client 160 requests to share group-directed media with PTT call participants using a different floor control mechanism than the PTT call. The group-directed media is accordingly sent independently of the voice media. The user must request permission to send data any time there is data that is ready to be shared with the PTT call participants. In this scenario, the user is participating in a PTT call and performs a function on the Group Media Client 160 that results in the Group Media Client 160 requesting to share data with the PTT call participants. The Group Media Client 160 determines that the data is intended to be shared using a separate floor control mechanism than the PTT call, i.e. independent of the floor control mechanism being used for the PTT call.

The Group Control Client 160 requests that the PTT Client 162 add a new media type to the existing PTT call. The add media requests contains an indication that the data is to be shared using a different floor control mechanism than the PTT call. The PTT Client 162 requests the MCU 164 to add a new media type to the existing call. The MCU 164 verifies that all of the call participants can support the new media type and notifies the call participants that a new media type is being added to the call. In this embodiment, the notification to the call participants contains a floor identifier for the group-directed media floor, in addition to a new destination port number on the MCU 164 for the distribution of the group-directed media. The PTT Client 166 of the target device assigns a new media port for sending or receiving group-directed media and sends the new port identifier in the acknowledgement to the MCU 164.

When the PTT Client 166 receives the request to add new media, the PTT Client 166 verifies that the application associated with the group media application ID is available on the client. If the Group Media Client 168 associated with the group media application ID is already active on the client, the PTT Client 166 sends a notification to the Group Media Client 168 that media was added to an existing PTT call. If the application associated with the group media application ID is not already active on the target client, the PTT Client 166 requests the mobile operating system to start the appropriate application and then notifies the Group Media Client 168 to prepare for incoming group-directed media.

After the new media type is successfully added to the PTT call, the user can request permission to send group-directed media. The Group Media Client 160 notifies the PTT Client 162 that a group-directed media send request has been received. The PTT Client requests permission to send group directed media from the MCU 164. The PTT request from the PTT Client 162 contains the floor identifier assigned to the group-directed media floor. The MCU 164 verifies the data floor is available prior to granting the floor request. The PTT Client 162 notifies the Group Media Client 160 that the floor request was granted.

FIG. 8 is a call flow diagram of one embodiment of the system establishing immediate group-directed media transmission to multiple target devices across the wireless communication network. In FIG. 8, a user has requested immediate distribution of group-directed media to multiple target users. The group-directed media does not exceed the operator-defined data distribution limit and therefore, it can immediately be provided to the target endpoints. In this embodiment, the user selects a list of target users to which group-directed media is to be delivered. The user has also requested, at the Group Media Client 170, immediate delivery of the group-directed media to the targets. The PTT Client 172 examines the delivery option specified in the request and determines that the data is required to be immediately delivered. The Group Media Client 170 compares the size of the group-directed data to make sure that it is within the operator-defined limit. Because the size is less than the data distribution limit, the Group Media Client 170 requests that the PTT Client 172 distribute the data to the targets. The PTT Client 172 verifies the data is small enough to fit into a UDP MTU containing the appropriate signaling headers and the group-directed media. The PTT Client 172 requests the DCH 174 to send an incoming data notification containing the group-directed media to the specified targets.

The DCH 174 locates each of targets in the target list and formulates an incoming data notification for each target. The group-directed media is embedded in the notification. The DCH 174 sends the notification to each target. For targets that are registered on the local carrier network, Local Gateway 180, the notification is sent directly to the PTT Client 176 at the target. For targets that are registered on a foreign carrier network, the notification may be sent to the Foreign Regional Gateway 182, which in turn converts the notification into a session initiation protocol (SIP) Message method and the group-directed media is included in the body of the SIP Message. Each target determines whether to accept or reject the incoming data notification. The notification may be rejected if the Group Media Client 178 target client cannot process the group-directed media or the target user has placed a communication restriction on the originator of the data distribution request.

In FIG. 8, the notification is assumed to be accepted by the targets. Because at least one target received the notification successfully, the originator is notified that the group directed distribution was successful. Alternatively, the originator can be notified of which targets received the notification and which did not. When the PTT Client 176 receives the notification with the group-directed media, the PTT Client 176 examines the group media application ID, which indicates the application that is to receive the group-directed media. If the application associated with the group media application ID is already active on the client, the PTT Client 176 forwards the group-directed media to the application. If the application associated with the group media application ID is not already active on the client, the PTT Client requests the mobile operating system to start the Group Media Client 178 and then forwards the group-directed media. For targets that do not support processing the group-directed media data type, the DCH 174 will not distribute the incoming data notification to targets that are incapable of processing the group-directed media contained in the message. Optionally, the DCH 174 will remove the group-directed media from the incoming data notification and send the revised notification to the targets that do not support the data type.

It should also be noted that Foreign Regional Gateway 182 with another computer device, such as desktop which could have a PTT client resident thereupon. The signaling between the Local Gateway 180 and the Foreign Regional Gateway 182 could be the same as the signaling between a Local Gateway 180 and the PC-Based client, such as a Windows based client at a desktop, laptop, or other computer platform, that could also have a wired connection to the Internet or other gateway. However, the resident PTT Client at such computer platform is required to handle the half-duplex communications in the group communication environment.

FIG. 9 is a call flow diagram of one embodiment of the distribution to target members of a file preview of a group-directed media. A user has requested immediate distribution of a file to multiple target users. Here, the file exceeded the operator-defined data distribution limit and therefore, it cannot immediately be distributed to the targets. However, a preview of the file can be distributed to the targets immediately. Therefore, the file is stored at the FMS 192 and then truncated or reduced to provide a preview of the file to the target recipients. The preview portion of the file is part of the incoming data notification to the targets. The preview can be a small picture, such as a thumbnail, or a portion of the file name, or can be the file type extension, e.g. .mov, .tif, .ppt, such that the target can determine in the first instance if they want to download media of that type.

In this embodiment, the user selects a list of target users to which the group-directed media is to be delivered. In this scenario, the group-directed media selected is a large file. The user has also requested immediate delivery of the group-directed media to the targets. The Group Media Client 190 examines the delivery option specified in the request from the user and determines that the file is required to be delivered immediately. The Group Media Client 190 compares the size of the file with the operator-defined data distribution limit. Because the file size exceeds the data distribution limit, the Group Media Client 190 contacts the FMS 192 (data store) to store the file with the target list. After the Group Media Client 190 has successfully stored the file at the FMS 192, the Group Media Client 190 creates a preview of the original file. The Group Media Client 190 then requests the PTT Client 194 to deliver the preview of the group-directed media file and the file descriptor to the specified list of targets.

The PTT Client 194 verifies the preview data is small enough to fit into a UDP MTU containing the appropriate signaling header and the group-direct media preview. The PTT Client 194 requests that the DCH 196 send an incoming data notification containing the preview and the file descriptor to the specified targets. The DCH 196 locates each of the targets in the target list and formulates an incoming data notification for each target. The group-media preview data (preview and the file descriptor) is embedded in the notification. The DCH 196 sends the notification to each target. Such notification can also include a hyperlink or other pointer to direct the target to the stored data. Each target determines whether to accept or reject the incoming data notification. The notification may be rejected if the target user has placed a communication restriction on the originator of the data distribution request. In this scenario, the notification is accepted by the targets. Because at least one target received the notification successfully, the originator is notified that notice of the group-directed media distribution was successful.

When the PTT Client 198 receives the notification with the preview, the PTT Client 198 examines the group media application ID, which indicates the application that is to receive the group-directed media. If the application associated with the group media application ID is already active on the client, the PTT Client 198 forwards the group-directed media to the application. If the application associated with the incoming group-directed media application is not already active on the client, the PTT Client 198 requests the mobile operating system to start the application and then forwards the group-directed media onto the Group Media Client 200. When the Group Media Client 200 receives the group-directed media, the Group Media Client 200 determines whether to download the file containing the group-directed media automatically as identified by the file descriptor in the data or to prompt the user to determine if they want a download. The Group Media Client 200 can also download the preview file from the FMS 192.

FIG. 10 is a call flow diagram of one embodiment of a file retrieval of stored group-directed media by a member of the communication group 12 to which the group-directed media was originally sent. When a Group Media Client 212 receives a notification from the PTT Client 210 indicating that there is a group-directed media available at the FMS 216, the Group Media Client 212 determines, based on user settings, whether to download the group-directed media immediately or to notify the Group-Directed Media UI 214 that the group-directed media file is available for download. In the latter case, the Group-Directed Media UI 214 is responsible for prompting the user to decide when to download the file.

If the Group Media Client 212 is not configured to download the group-directed media file automatically, Group-Directed Media UI 214 prompts the user to download the file. When the user decides to download the file, the Group-Directed Media UI 214 notifies the Group Media Client 212, which proceeds to retrieve the file from the FMS 216. The FMS 216 verifies the user is on the target list (or file distribution list) prior to allowing the file download to proceed. It should be noted that the download of the stored data need not to occur substantially instantaneously or only during a PTT communication, but can occur at the discretion of the target user. Further, other embodiments may use different methods to determine whether the user is allowed or authorized to download the file.

FIG. 11 is a flowchart of one embodiment of a method at a wireless communication device 14,16,18 to send group-directed media to a communication group 12. A request is made at the wireless communication device 14,16,18 to send the group-directed media, as shown at step 220, and then a determination is made as to whether the group-directed media can be sent directly to members of the group, as shown at decision 222. If the group-directed media cannot be sent directly at decision 222, then the group-directed media is sent to the file management server 224, and the process ends as shown at termination 228. Otherwise, if the group-directed media can be sent directly to the other members of the group, then the group-directed media is sent to the group communication computer device (server) 32, as shown at step 226, e.g. the group communication computer device will receive and relay the group-directed media to the other members of the communication group. It should be noted that the group communication computer device 32 can be the sole arbiter of determining how to relay the group-directed media, and thus, no determinations on sending group communication data will occur at the wireless communication device 14,16,18, as it will solely send out the group-directed media if an appropriate communication channel is available. Then the process ends, as shown at termination 228.

FIG. 12 is a flowchart of one embodiment of a group communication computer device 32 receiving and selectively storing or transmitting group-directed media. The group communication computer device 32 receives a request to send group-directed media from wireless communication device 14,16,18, as shown at step 230, and then a determination is made as to whether the group members for the sending wireless communication device can receive the group-directed data directly, as shown at decision 232. For any member of the group that cannot receive the group-directed media, the group-directed media is sent to a data store 36, as shown at step 234, and a notice and link to the stored media is sent to the target wireless device unable to directly receive the group-directed media that the group-directed media is stored and awaiting download, as shown at step 236.

Otherwise, for each member of the group who can receive the group-directed media at decision 232, a determination is then made as to whether the group-directed media is too large to be directly sent, as shown at decision 238. If the media is too large at 238, the group-directed media is sent to the data store 36, as shown at step 234, and the notice and link are sent to the target device as shown at step 236. Otherwise, if the media is not too large to send at decision 238, a determination is made as to whether the media is a correct type to send to the target member, as shown at decision 240. If the media is not a type known as receivable by the target device, then the group-directed media is stored at the data store 36 (step 234) and notice and link sent to the target device (step 236). Otherwise, if the group-directed media is of a type that can be received by the target member, the group-directed media is sent to the member device(s), as shown at step 242. Then the process terminates (termination 244) after the group-directed media is sent (step 242) or the notice and link have been sent to the target devices (step 236).

It can be seen that system 10 provide an inventive method for sharing media in a group communication among a plurality of wireless communications devices 14,16,18 on a wireless communication network 20, that in one embodiment, includes receiving at a group communication computer device 32 group-directed media sent from a wireless communication device 14,16,18 to other members of the communication group 12. In one embodiment, the group communication computer device 32 stores information including the member wireless communication devices of one or more communication groups, and sending the group-directed media from the group communication computer device 32 to one or more of the other member wireless communication devices of the communication group 12 for the sending wireless communication device 14,16,18. If the system 10 is embodied as including a data store 36 (such file management server 192) which is in communication with the group communication computer device 32, the method further includes sending the group-directed media from group communication computer device 32 to the data store 32, the receiving the group-designated media from the wireless communication device 14,16,18 at the data store, and selectively permitting members of the communication group for which the group-directed media is being sent to access the stored group-directed media across the wireless communication network 20.

In one embodiment, the method can include sending communication group identification data from the wireless communication device 14,16,18 to the group communication computer device 32, and then sending the group-directed media from the group communication device 32 to the member wireless communication devices identified in the communication group identification data. Alternately, the wireless communication device 14,16,18 can request member data for a communication group from the group communication computer device 32 prior to a wireless communication device sending group-directed media, and sending communication group identification data from the group communication computer device 32 to the requesting wireless communication device 14,16,18.

The sending of the group-directed media can occur either during a group communication with the member wireless communication devices of the communication group 12, or can occur outside the group communication, as is shown in FIG. 7. Further, the method can involve multiple determinations of whether or not to send the group-directed media based upon the size of the data, the ability of the target to view the data, or the type of data being sent, such as a link to an interactive computer session or other application. The method can also include, upon receipt of the group-directed media by at least one of the member wireless devices of the communication group 12, sending an acknowledgement that at least one member wireless communication device of the communication group 12 received the group-directed media to the wireless communication device sending the group-directed media, such as shown in FIGS. 8 and 9.

When the members of a PTT group communication wish to discuss two or more previously transmitted media files, the members would typically have to explain to which file they are referring (e.g. “the first one I sent to you” or “the second one I sent”). An embodiment provides a convenient way to reference media files during a PTT group communication. The media files may be pre-shared before the start of a PTT group communication or a talk spurt or shared during the group communication or the talk spurt.

An embodiment provides an index of the group communication that links shared media files to the corresponding talk spurt. The index may be presented as a timeline, a gallery, a conversation thread, etc. For example, if the index is presented as a timeline, each talk spurt can be associated with one or more timestamps indicating the start, end, and/or duration of the talk spurt. Each entry, whether or not associated with a media file, can also include additional ways to identify the talk spurt, such as the name or username of the speaker, the first few words of the talk spurt (as generated by a speech-to-text converter), the role of the speaker, etc. If a media file is transmitted during a talk spurt, the index entry for that talk spurt would display an indication of the media file, such as the filename, URL, preview, etc. The entry could also include other metadata for the media file, such as the title, description, size, type, length, date taken, date modified, etc.

If the index is presented as a gallery, each transmitted media file can be represented by a preview of the media file. Each preview can be associated with various metadata for the media file, such as the filename, URL, title, description, size, type, etc. In an embodiment, the gallery would only include previews of transmitted media files. Alternatively, the gallery can include previews representing each talk spurt, whether or not associated with a transmitted media file. In that case, a talk spurt without a corresponding media file could be displayed as an icon representing the speaker. For instance, some or all of the group members may have specific icons to represent themselves in a group communication. For those that do not, a generic icon could be used. For talk spurts associated with media files, the gallery can display only the preview of the media file, both the preview of the media file and the speaker's icon, or some combination of the preview of the media file and the speaker's icon.

The index can also be presented as a threaded conversation, which has aspects of both the timeline and gallery views. In a threaded conversation, the identity of the speaker and/or the topic of the talk spurt would be the primary organizing factor rather than the time of the talk spurt. For example, as described below, when a member responds to a previously transmitted talk spurt, rather than adding the new talk spurt to the index as its own entry, it would be added as a sub-entry to the previously transmitted talk spurt. Alternatively, all talk spurts from a given member can be grouped together. Also, rather than just the first few words of each talk spurt, each entry could include a larger portion of the talk spurt, or even the entire talk spurt, converted to text. Further, each entry can display an icon of the speaker, and entries associated with a media file can display a preview of the media file and any metadata available and/or desired.

It is apparent that there are many possibilities for the presentation of talk spurts and media files within the scope of the embodiments. Likewise, there are many possible combinations of the features of the timeline, gallery, and threaded views within the scope of the embodiments. Each member of the group communication may choose their preferred set of options, or a leader or moderator of the group communication may set the options for a particular group communication.

Before any talk spurts have been transmitted, the index may simply display a welcome message and/or details about the call, such as the number of members, the identity of the members, the identity of the organizer, etc. As talk spurts are generated, they are added to the index. In an embodiment, a leader or moderator of a PTT group communication may wish to share one or more media files with members of the PTT group for discussion during the group communication. In that case, the leader or moderator can transmit the one or more media files before or at the start of the group communication, as discussed below with reference to FIGS. 13-18. In that case, the initial index will already be populated with entries for those media files, and the group members will be able to refer to them immediately.

If one or more media files are too large to be immediately distributed to the targets at the beginning of a group communication, as discussed above with reference to FIG. 9, the media files can be buffered at the PTT server and even distributed to the targets in advance so that they are available at the beginning of the group communication, as discussed below with reference to FIGS. 13-18. Additionally, if the media file sharing uses a different floor control mechanism than the PTT group communication, as discussed above with reference to FIG. 7, then a member that knows they will be transmitting a media file that is too large to be immediately distributed can request transmission of the media file before they request the floor for a talk spurt, as discussed below with reference to FIGS. 13-18. In that way, the media file will be available when the member gains the floor to speak.

In an alternative embodiment, if the media file is large, the speaker would not lose the floor until the media file had successfully transmitted, even if the speaker released the PTT button. Alternatively, transmission of the media file could stop when the speaker relinquishes the floor and resume when the speaker reacquires the floor. These alternatives can be determined by a leader or moderator of the group communication, if present. For example, the leader or moderator could setup the group communication such that high priority speakers would be ensured transmission of their media files while low priority speakers could only transmit during their talk spurt.

In an embodiment, the index of the group communication can be stored, locally or remotely, for future reference. Additionally, the index may be transmitted as a media file in a later group communication so that it too can be referred to during that group communication. In an embodiment, the index of the previous group communication can be appended to the index of the later group communication as talk spurts that occurred before the first talk spurt of the later group communication, thus permitting those talk spurts to be referred to as if they had occurred during the later group communication. Alternatively, the index of the previous group communication can be integrated into the index of the later group communication as a sub-entry of the talk spurt during which the index was transmitted.

In an embodiment, the entries of the index can be augmented with metadata describing the entry. The metadata can be added manually or automatically as the entry is generated, after the entry is added to the index, or at some time after the group communication ends. Some metadata has already been described, such as the name or username of the speaker, the start and end times of the talk spurt, and duration of the talk spurt, the title, filename, URL, size, type, etc. of any associated media file, etc. Other metadata can be generated by parsing the talk spurt. For example, talk spurts can be parsed to determine the type of content, such as whether the talk spurt is a question, a response, an instruction, chatter, or a greeting.

A user can sort or filter an index, or even an ongoing conversation, based on the metadata if the metadata is generated in real-time. For example, a user can sort or filter the index by the identity of the speaker, by which talk spurts include media files, by the start time of the talk spurt, etc. If the metadata is generated in real time, a user can filter out (i.e. prevent from being added to the index of transmitted) “chatter” talk spurts or talk spurts that don't include media files, show only instructional talk spurts, etc. The user can also opt to be notified about a talk spurt based on its metadata. For example, a user may wish to be notified when a talk spurt is a question.

If the index is being generated at UE 14,16,18, individual users can control which metadata is generated or identified. In that case, each user will have a different index at the end of the group communication. Alternatively, the group leader can determine which metadata should be generated and transmit that information as part of the setup for the group communication. The group leader can also determine which metadata to track if the index is generated remotely. Alternatively, a system administrator can make the determination.

On the target side, UI 106 plays the incoming talk spurt and displays/plays the media file that the speaker had selected (or a preview, or a placeholder if the media file is still in transit), as discussed below with reference to FIGS. 13-18. UI 106 can display/play received media files in a full-screen view during the talk spurt. During talk spurts that are not associated with a media file, UI 106 can display the last media file, a home screen for the group communication, an icon of the speaker, an index view of the group communication (such as the timeline, gallery, or threaded view), etc. Alternatively, UI 106 can initially display received media files in the index view, giving the target the option to ignore the media file or select it for displaying/playing in a full-screen view.

Upon each floor transition, the floor-requester can select a different media file, causing an update at each target of the media file being displayed to the one that the new speaker has selected. Since the speaker can see an index view of the group communication, the speaker can refer back to a previously transmitted media file by selecting it in the index view. If the current speaker selects a media file that was previously transmitted, whether by that speaker or another, the media file does not need to be retransmitted. Rather, if a target has chosen to display received media files in a full-screen view, the previously transmitted media file is simply redisplayed. If a target has chosen to display received media files in an index view, the previously transmitted media file can be visually highlighted to show that it is the one to which the speaker is referring. The target may then select the media file to be displayed in a full-screen view. In this way, the speaker and listener(s) are automatically kept in alignment regarding to which media file the speaker is referring, and there is no need to communicate that information manually.

In a group communication, it can be difficult to gain the floor, as one member may acquire the floor ahead of others who wish to respond to a particular talk spurt. It may be several minutes and/or several talk spurts later before a member can acquire the floor, and the flow of the conversation may have moved in another direction, so that the point the member was going to make would disrupt the flow of the conversation. An embodiment permits members to refer back to particular talk spurts, not just particular media files.

In an embodiment, when a member wishes to respond to one or more talk spurts but cannot acquire the floor, the member can flag the talk spurt(s) for later reference. For example, the member can mark the talk spurt(s) through a touch, audible, physical, or key-based action on wireless communication device 14, 16, 18. Additionally, if the member tries to respond to the talk spurt rather than immediately marking it for a response but cannot acquire the floor, the member can be prompted to “remember” the talk spurt for response at a later time. Further, the member need not flag a talk spurt immediately. Rather, the member can flag earlier talk spurt(s) as a reminder to respond to them when he or she acquires the floor.

When the member finally acquires the floor, the member has an option within UI 106 to identify a previous talk spurt to which he or she wishes to respond. The member can select one of the flagged talk spurts or an unflagged talk spurt. The member can select multiple talk spurts at one time, or select multiple talk spurts one at a time over the course of that member's talk spurt.

The UIs of the target devices identify the selected talk spurt by, for example, highlighting it in an index view, replaying all or a portion of it, displaying the index entry for the talk spurt in a full-screen view, etc. If a target is in an index view of the group communication and the previous talk spurt is highlighted but not replayed, for example, the target can tap the visual representation of the previous talk spurt to listen to a few seconds of it or to retrieve/display a speech-to-text conversion of it. The speaker may also mandate this brief replay/speech-to-text option to emphasize to the group the context in which he or she will be responding. These various options can be set by each member through UI 106 or mandated by a leader or moderator of the group communication.

When a speaker refers to a previous talk spurt as just described, the current talk spurt can be added as the next entry in the index as it normally would be, or it can be added as a sub-entry under the talk spurt to which the speaker is referring, much like a threaded conversation. The speaker may decide how the talk spurt should be added to the index, or it may be decided by the leader or moderator. It may also depend on the type of index employed.

An embodiment integrates the location of the members of the group communication. In an embodiment, a speaker can send talk spurts and/or media files only to certain members of the communication group based on their location. For example, the speaker can transmit talk spurts and/or media files to nearby members, or to all members in a given city, state, or country. In an embodiment, talk spurts and/or media files can be indexed by the location of the sender, or the location at which the media file was generated. For example, an image of the Grand Canyon may be geo-tagged, and the entry for the image can be indexed according to that location.

In an embodiment, a member may be given priority for acquiring the floor and/or transmitting a media file based on his or her location at a place of interest. For example, a member at the Grand Canyon that is talking to the other members of the communication group about the Grand Canyon can be given priority to transmit images of the Grand Canyon.

In an embodiment, if a member arrives at a given location or crosses a given geo-fence, a talk spurt can be automatically generated and transmitted to the group indicating that the member has arrived at the location or crossed the geo-fence. Additionally, a map of the location or geo-fence can be transmitted as a media file, with the member's location marked on the map. Further, the member can receive an automated talk spurt welcoming him or her to the location or geo-fenced area. The automated talk spurt may provide other information as well, such as information about the location or geo-fenced area.

In an embodiment, the media file being shared can be a map, and each time the user sharing the map presses it and/or transmits a talk spurt, a spot on the map representing the location of the user is updated, indicating the current location of the user. Similarly, the media file can be a picture of a geographic location, and each time the user sharing the picture presses it and/or transmits a talk spurt, a spot on the picture representing the location of the user is updated, indicating the current location of the user within the picture. The location of the user with respect to the map can be transmitted as x-y coordinates or geographic coordinates. The location of the user with respect to the picture can be transmitted as x-y coordinates of the picture. In this way, not only are target group members automatically shown the picture or map to which the speaker is referring, but a specific location on the picture or map.

FIG. 13 is a flowchart of an exemplary group communication in which media files are pre-shared before a group call is setup. In FIG. 13, PTT clients 310, 312, and 314 form a PTT group. At 1305, the user of PTT client 310 opens a gallery of media files A, B, C, and D, for example, and selects media files A, C, and D to pre-share with the rest of the PTT group (i.e. PTT clients 312 and 314). Alternatively, the user may select a subset of the PTT group with which to share the media files. PTT client 310 then transmits the selected media files to PTT server 316. At 1310, PTT server 316 silently transmits the selected media files to PTT clients 312 and 314. At 1315, the user of PTT client 312 opens a gallery of media files J, K, L, and M, for example, and selects media files M and J to pre-share with the PTT group. PTT client 312 then transmits the selected media files to PTT server 316. At 1320, PTT server 316 silently transmits the selected media files to PTT clients 310 and 314.

At 1325, PTT client 310 silently receives media files M and J and stores them in temporary storage. PTT client 310 does not silently receive media files A, C, and D because they are already stored on PTT client 310. Silently receiving media files means that the media files are received in a background mode and not shown to the user, and as such the user may not even know that the files are on the PTT client. The media files are simply pre-shared for fast rendering if and when a PTT call arrives. At 1330, PTT client 312 silently receives media files A, C, and D and stores them in temporary storage. At 1335, PTT client 314 silently receives media files A, C, D, M, and J and stores them in temporary storage.

At 1340, the user of PTT client 310 presses an on-screen representation of media file C (already pre-shared) as if it were a PTT button to start a PTT group call. In the embodiment of FIG. 13, pressing the representation of media file C causes PTT client 310 to transmit a PTT call start request at 1345. Alternatively, however, the request may be a floor request if the group call is already in progress. The request includes an index or other reference to media file C. Alternatively, the index or reference can be sent independently of the PTT call start or floor request.

At 1350, after the group call has been setup, PTT server 316 transmits an indication of the call start or floor grant to PTT clients 312 and 314, including the index or reference to media file C. At 1355, PTT client 312 determines whether media file C is stored in its local storage. If it is, as illustrated in FIG. 13, then at 1360, PTT client 312 immediately transitions its UI to display (or play) media file C.

At 1365, PTT client 314 determines whether media file C is stored in its local storage. If it is not, as illustrated in FIG. 13, then at 1370, PTT client 314 requests media file C from PTT server 316. There are a number of reasons PTT client 314 may not have media file C stored in its local storage, such as transmission delays, dropped connections, lost packets, insufficient download time, etc. At 1375, PTT client 316 retransmits media file C to the requesting group members (here, PTT client 314). Alternatively, if PTT client 316 has not yet transmitted media file C to the requesting group members, PTT client 316 transmits media file C at this time.

At 1380, upon receiving media file C, PTT client 314 immediately transitions its UI to display (or play) media file C. PTT clients 312 and 314 may render media file C fully, partially, or merely a reference to it, such as a URL or thumbnail. Accordingly, the users of PTT clients 312 and 314 will know and be able to see to which media file the user of PTT client 310 is referring during that user's talk spurt.

PTT clients 312 and 314 may present an option to save media file C, either during or after the talk spurt or at the end of the PTT group call. If a user selects to save media file C, that PTT client will move the media file from temporary storage to permanent storage.

FIG. 14 is a flowchart of an exemplary group communication in which media files are pre-shared before a group call is setup. Specifically, FIG. 14 illustrates additional aspects of the pre-sharing embodiment. In FIG. 14, PTT clients 310, 312, and 314 form a PTT group. At 1405, the user of PTT client 310 opens a gallery of media files and selects media file X to pre-share with the rest of the PTT group (i.e. PTT clients 312 and 314). PTT client 310 then silently transmits media file X and a thumbnail representing media file X to PTT clients 312 and 314 via the PTT server (not shown). At 1410 and 1415, PTT clients 312 and 314 begin silently receiving and temporarily storing media file X and its thumbnail.

At 1420, the user of PTT client 310 presses an on-screen representation of media file X as if it were a PTT button to start a PTT group call or send a floor request. The request includes an index or other reference to media file X, as disclosed with reference to FIG. 13.

At 1425 and 1430, after the PTT call has been setup, PTT clients 312 and 314 begin receiving the talk spurt referencing media file X from the user of PTT client 310. At 1435 and 1440, PTT clients 312 and 314 determine whether or not media file X has been fully received. If it has, then at 1445 and 1450, PTT clients 312 and 314 immediately transition their UIs to display (or play) media file X. If it has not, then at 1455 and 1460, PTT clients 312 and 314 render a partial version or placeholder for media file X or its thumbnail. If media file X is fully received during the talk spurt, PTT clients 312 and 314 will immediately display and/or play it. While 1410-1415 and 1425-1460 have been discussed as occurring in parallel, it is apparent that they occur independently at PTT clients 312 and 314.

FIG. 15 is a flowchart of an exemplary group communication in which media files are not pre-shared before a group call is setup. In FIG. 15, PTT clients 310, 312, and 314 form a PTT group. At 1505, the user of PTT client 310 opens a gallery of media files and selects media file X to share with the rest of the PTT group (i.e. PTT clients 312 and 314). The user then presses an on-screen representation of media file X as if it were a PTT button to start a PTT group call. At 1510, PTT client 310 transmits the PTT call start request and a representation of media file X to PTT clients 312 and 314 via the PTT server (not shown). The representation includes a reference to media file X, such as a filename or URL, and one of a text description of media file X, an icon representing the type of media file, or a thumbnail representing media file X.

At 1515 and 1520, PTT clients 312 and 314 receive the PTT call/grant and the representation of media file X. At 1525 and 1530, PTT clients 312 and 314 transition their UIs to display an “in-call screen” including a placeholder for media file X. The placeholder may include the reference to media file X and the text description, icon, or thumbnail of media file X.

At 1535, after the PTT signaling and audio streaming begins, PTT client 310 begins transmitting media file X to PTT clients 312 and 314 via the PTT server. At 1540 and 1545, PTT clients 312 and 314 begin receiving media file X. At 1550 and 1555, after media file X has been fully received, PTT clients 312 and 314 replace the placeholder for media file X with media file X. While 1515-1530 and 1540-1555 have been discussed as occurring in parallel, it is apparent that they occur independently at PTT clients 312 and 314.

FIG. 16 is a flowchart of an exemplary group communication in which media files are shared before or during a group call is setup. Specifically, FIG. 16 illustrates additional aspects of the data being shared. In FIG. 16, PTT clients 310, 312, and 314 form a PTT group. At 1605, the user of PTT client 310 opens a gallery of media files and selects media file X to (pre-)share with the rest of the PTT group (i.e. PTT clients 312 and 314). At 1610, PTT client 310 generates a reduced version of media file X. Specifically, PTT client 310 determines what alternative information and/or reduced configurations are or could be associated with media file X. Such data may include, but is not limited to, a reference to media file X, a text description of media file X, an icon or thumbnail representing media file X, a cropped version of media file X, a lower resolution version of media file X, a lower resolution cropped version of media file X, or a progressive version of media file X, such as a progressive Joint Photographic Experts Group (JPEG) image. PTT client 310 then creates a prioritized list of this data arranged by size and/or preferences of the user or PTT application. For example, a text description is likely less data than a low resolution version of media file X, but the user or PTT application may prefer to always assign the highest priority to the low resolution version. Further, if a certain data type is not available, PTT client 310 may have to use whatever is available. For example, media file X may not have a text description, so PTT client 310 will send a thumbnail instead.

At 1615, PTT client 310 transmits the smaller and/or higher priority data about media file X to PTT clients 312 and 314 via the PTT server (not shown). At 1620 and 1625, PTT clients 312 and 314 receive this data. At 1630, PTT client 310 transmits the next smallest and/or highest priority data about media file X to PTT clients 312 and 314 via the PTT server. At 1635 and 1640, PTT clients 312 and 314 receive this data. At 1645 and 1650, PTT clients 312 and 314 update the previously stored data about media file X with the newly received data. PTT clients 312 and 314 now have a better representation of media file X.

At 1655, PTT client 310 transmits media file X. At 1660 and 1665, PTT clients 312 and 314 receive media file X. While 1620-1625, 1635-1650, and 1660-1665 have been discussed as occurring in parallel, it is apparent that they occur independently at PTT clients 312 and 314.

FIG. 17 is a flowchart of an exemplary group communication in which media files are shared before a group call is setup and a subsequent talk spurts refers to a previously shared media file, such that the media file does not need to be shared before or during the subsequent talk spurt. At 1705, a group call is in-progress between PTT clients 310, 312, and 314 and media files X, Y, and Z have been provisioned to the group members. At 1710, PTT client 310 obtains the floor and selects media file X to start a PTT talk spurt. At 1715, PTT client 310 transmits the talk spurt and an index or other reference to media file X. At 1720 and 1725, upon receiving the index to media file X, PTT clients 312 and 314, respectively, transition their UEs to display (or play) media file X.

At 1730, PTT client 314 obtains the floor and selects media file Y to start a PTT talk spurt. At 1735, PTT client 314 transmits the talk spurt and an index or other reference to media file Y. At 1740 and 1745, upon receiving the index to media file Y, PTT clients 310 and 312, respectively, transition their UEs to display (or play) media file Y.

FIG. 18 is a flowchart of exemplary first and second group communications, where media files are shared before the first group communication and therefore do not need to be shared before the second group communication. At 1805, media files X, Y, and Z are provisioned to the group members, here PTT clients 310, 312, and 314. At 1810, the user of PTT client 310 presses an on-screen representation of media file X (already pre-shared) as if it were a PTT button to start a PTT group call. In the embodiment of FIG. 18, pressing the representation of media file X causes PTT client 310 to transmit, at 1815, a PTT call start request with an index or other reference to media file X.

At 1820 and 1825, upon receiving the index to media file X, PTT clients 312 and 314, respectively, transition their UEs to display (or play) media file X. At 1830, the group call ends.

At 1835, the user of PTT client 314 presses an on-screen representation of media file Y as if it were a PTT button to start a PTT group call. At 1840, PTT client 314 determines whether media file Y has already been provisioned to the group members of the PTT group call. If it has, as in the embodiment of FIG. 18, then at 1815, PTT client 314 transmits a PTT call start request with an index or other reference to media file Y. If media file Y has not been shared with the group members, or not all of the group members, then the PTT server (not shown) shares media file Y with the group members that do not have it before or at the beginning of the group call, as described above.

At 1850 and 1855, upon receiving the index to media file Y, PTT clients 310 and 312, respectively, transition their UEs to display (or play) media file Y.

In view of the methods being executable on a mobile device and other computer platforms, the method can accordingly be performed by a program resident in a computer readable medium, where the program directs the mobile device or other computer device having a computer platform to perform the steps of the method. The computer readable medium can be the memory of the server, or can be in a connective database. Further, the computer readable medium can be in a secondary storage media that is loadable onto a wireless communications device computer platform, such as a magnetic disk or tape, optical disk, hard disk, flash memory, or other storage media as is known in the art.

In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

While the invention has been particularly shown and described with reference to a preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the scope of the present invention as set forth in the following claims. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. 

What is claimed is:
 1. A method for selectively sending one or more group-directed media originated from an originating wireless communication device to one or more target wireless communication devices across a wireless communication network, comprising: receiving a data notification at a group communication server that is configured to control group communications between a group of wireless communication devices that are members of a communication group, wherein the data notification has the one or more group-directed media embedded within, and is received from the originating wireless communication device and directed to the one or more target wireless communication devices of the members of the communication group across the wireless communication network; determining a media-handling capability of the one or more target wireless communication devices, wherein upon a determination that a group-directed media sent from the originating wireless communication device to at least one target wireless communication device of the members of the communication group is not of a type known as receivable by the at least one target wireless communication device, the method further comprises: not distributing the group-directed media to the at least one target wireless communication device; sending the group-directed media to a data store; and sending a link to the stored group-directed media to the at least one target wireless communication device.
 2. The method of claim 1, further comprising sending the data notification received from the originating wireless communication device to the one or more target wireless communication devices across the wireless communication network.
 3. The method of claim 1, further comprising sending the group-directed media from a computer device on the wireless communication network through a dispatch call handler (DCH) to the at least one target wireless communication device.
 4. The method of claim 1, further comprising: storing, by a computer device on the wireless communication network, information on the media-handling capability of each of the target wireless communication devices; and retrieving, by a dispatch call handler (DCH), the information on the media-handling capability of the at least one target wireless communication device upon receiving the data notification containing the one or more group-directed media intended for the at least one target wireless communication device.
 5. The method of claim 1, further comprising sending a preview of the group-directed media to the at least one target wireless communication device.
 6. The method of claim 1, further comprising: receiving a request to add a new media type to a group communication from the originating wireless communication device; verifying the at least one target wireless communication device supports the new media type; and notifying the at least one target wireless communication device of addition of the new media type to the group communication.
 7. The method of claim 1, further comprising selectively permitting the at least one target wireless communication device to access the stored group-directed media based on identifiying the at least one target wireless communication device as a member of the communication group.
 8. A group communication server configured for selectively sending one or more group-directed media originated from an originating wireless communication device to one or more target wireless communication devices across a wireless communication network, the group communication server configured to: receive a data notification that is configured to control group communications between a group of wireless communication devices that are members of a communication group, wherein the data notification has the one or more group-directed media embedded within, and is received from the originating wireless communication device and directed to the one or more target wireless communication devices of the members of the communication group across the wireless communication network; determine a media-handling capability of the one or more target wireless communication devices, wherein upon a determination that a group-directed media sent from the originating wireless communication device to at least one target wireless communication device of the members of the communication group is not of a type known as receivable by the at least one target wireless communication device, the group communication server is further configured to: not distribute the group-directed media to the at least one target wireless communication device; send the group-directed media to a data store; and send a link to the stored group-directed media to the at least one target wireless communication device.
 9. The group communication server of claim 8, further configured to send the data notification received from the originating wireless communication device to the one or more target wireless communication devices across the wireless communication network.
 10. The group communication server of claim 8, further configured to send the group-directed media through a dispatch call handler (DCH) to the at least one target wireless communication device.
 11. The group communication server of claim 8, further configured to: store information on the media-handling capability of each of the target wireless communication devices; and retrieve the information on the media-handling capability of the at least one target wireless communication device upon receiving the data notification containing the one or more group-directed media intended for the at least one target wireless communication device.
 12. The group communication server of claim 8, further configured to send a preview of the group-directed media to the at least one target wireless communication device.
 13. The group communication server of claim 8, further configured to: receive a request to add a new media type to a group communication from the originating wireless communication device; verify the at least one target wireless communication device supports the new media type; and notify the at least one target wireless communication device of addition of the new media type to the group communication.
 14. The group communication server of claim 8, further comprising selectively permitting the at least one target wireless communication device to access the stored group-directed media based on identifying the at least one target wireless communication device as a member of the communication group.
 15. A group communication server configured for selectively sending one or more group-directed media originated from an originating wireless communication device to one or more target wireless communication devices across a wireless communication network, the group communication server comprising: means for receiving a data notification that is configured to control group communications between a group of wireless communication devices that are members of a communication group, wherein the data notification has the one or more group-directed media embedded within, and is received from the originating wireless communication device and directed to the one or more target wireless communication devices of the members of the communication group across the wireless communication network; means for determining a media-handling capability of the one or more target wireless communication devices, wherein upon a determination that a group-directed media sent from the originating wireless communication device to at least one target wireless communication device of the members of the communication group is not of a type known as receivable by the at least one target wireless communication device, the group communication server further comprises: means for not distributing the group-directed media to the at least one target wireless communication device; means for sending the group-directed media to a data store; and means for sending a link to the stored group-directed media to the at least one target wireless communication device.
 16. The group communication server of claim 15, further comprising means for sending the data notification received from the originating wireless communication device to the one or more target wireless communication devices across the wireless communication network.
 17. The group communication server of claim 15, further comprising means for sending the group-directed media through a dispatch call handler (DCH) to the at least one target wireless communication device.
 18. The group communication server of claim 15, further comprising: means for storing information on the media-handling capability of each of the target wireless communication devices; and means for retrieving the information on the media-handling capability of the at least one target wireless communication device upon receiving the data notification containing the one or more group-directed media intended for the at least one target wireless communication device.
 19. The group communication server of claim 15, further comprising: means for sending a preview of the group-directed media to the at least one target wireless communication device; and means for selectively permitting the at least one target wireless communication device to access the stored group-directed media based on identifying the at least one target wireless communication device as a member of the communication group.
 20. The group communication server of claim 15, further comprising: means for receiving a request to add a new media type to a group communication from the originating wireless communication device; means for verifying the at least one target wireless communication device supports the new media type; and means for notify the at least one target wireless communication device of addition of the new media type to the group communication. 